/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  dev
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class       dictionary;
    location    "system/fluid";
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.1;

vertices
(
    (0.5 0 -0.5)
    (1 0 -0.5)
    (2 0 -0.5)
    (2 0.707107 -0.5)
    (0.707107 0.707107 -0.5)
    (0.353553 0.353553 -0.5)
    (2 2 -0.5)
    (0.707107 2 -0.5)
    (0 2 -0.5)
    (0 1 -0.5)
    (0 0.5 -0.5)
    (-0.5 0 -0.5)
    (-1 0 -0.5)
    (-2 0 -0.5)
    (-2 0.707107 -0.5)
    (-0.707107 0.707107 -0.5)
    (-0.353553 0.353553 -0.5)
    (-2 2 -0.5)
    (-0.707107 2 -0.5)
    (0.5 0 0.5)
    (1 0 0.5)
    (2 0 0.5)
    (2 0.707107 0.5)
    (0.707107 0.707107 0.5)
    (0.353553 0.353553 0.5)
    (2 2 0.5)
    (0.707107 2 0.5)
    (0 2 0.5)
    (0 1 0.5)
    (0 0.5 0.5)
    (-0.5 0 0.5)
    (-1 0 0.5)
    (-2 0 0.5)
    (-2 0.707107 0.5)
    (-0.707107 0.707107 0.5)
    (-0.353553 0.353553 0.5)
    (-2 2 0.5)
    (-0.707107 2 0.5)
);

blocks
(
    hex (5 4 9 10 24 23 28 29) (10 10 11) simpleGrading (1 1 1)
    hex (0 1 4 5 19 20 23 24) (10 10 11) simpleGrading (1 1 1)
    hex (1 2 3 4 20 21 22 23) (20 10 11) simpleGrading (1 1 1)
    hex (4 3 6 7 23 22 25 26) (20 20 11) simpleGrading (1 1 1)
    hex (9 4 7 8 28 23 26 27) (10 20 11) simpleGrading (1 1 1)
    hex (15 16 10 9 34 35 29 28) (10 10 11) simpleGrading (1 1 1)
    hex (12 11 16 15 31 30 35 34) (10 10 11) simpleGrading (1 1 1)
    hex (13 12 15 14 32 31 34 33) (20 10 11) simpleGrading (1 1 1)
    hex (14 15 18 17 33 34 37 36) (20 20 11) simpleGrading (1 1 1)
    hex (15 9 8 18 34 28 27 37) (10 20 11) simpleGrading (1 1 1)
);

edges
(
    arc 0 5 (0.469846 0.17101 -0.5)
    arc 5 10 (0.17101 0.469846 -0.5)
    arc 1 4 (0.939693 0.34202 -0.5)
    arc 4 9 (0.34202 0.939693 -0.5)
    arc 19 24 (0.469846 0.17101 0.5)
    arc 24 29 (0.17101 0.469846 0.5)
    arc 20 23 (0.939693 0.34202 0.5)
    arc 23 28 (0.34202 0.939693 0.5)
    arc 11 16 (-0.469846 0.17101 -0.5)
    arc 16 10 (-0.17101 0.469846 -0.5)
    arc 12 15 (-0.939693 0.34202 -0.5)
    arc 15 9 (-0.34202 0.939693 -0.5)
    arc 30 35 (-0.469846 0.17101 0.5)
    arc 35 29 (-0.17101 0.469846 0.5)
    arc 31 34 (-0.939693 0.34202 0.5)
    arc 34 28 (-0.34202 0.939693 0.5)
);

defaultPatch
{
    name frontAndBack;
    type wall;
}

boundary
(
    film
    {
        type            mappedExtrudedWall;
        neighbourRegion film;
        neighbourPatch  surface;
        isExtrudedRegion no;

        faces
        (
            (0 1 20 19)
            (1 2 21 20)
            (12 11 30 31)
            (13 12 31 32)

            (5 0 19 24)
            (10 5 24 29)
            (16 10 29 35)
            (11 16 35 30)
        );
    }
    sides
    {
        type patch;

        faces
        (
            (2 3 22 21)
            (3 6 25 22)
            (14 13 32 33)
            (17 14 33 36)
        );
    }
    top
    {
        type patch;

        faces
        (
            (6 7 26 25)
            (7 8 27 26)
            (8 18 37 27)
            (18 17 36 37)
        );
    }
);


// ************************************************************************* //
